package chapter5;

/**
 * @Author juzipi
 * @Date 2021/5/14 9:27
 * @Info
 */
public class StackFrameTest {

    public static void main(String[] args) {
        /*
        方法的结束方式分为两种：
        正常结束：以return为代表
        方法执行中出现未捕获异常处理，以抛出异常的方式结束
         */

        try {
            StackFrameTest stackFrameTest = new StackFrameTest();
            stackFrameTest.method1();
        } catch (Exception e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
            System.out.println("抓到了异常");
        }
    }

    public void method1(){
        System.out.println("一方法幺");
        method2();
        System.out.println("方法一执行完毕@");
        //即使是方法是void，反编译的时候它也会有一个return
    }

    public int method2(){
        System.out.println("二开始执行");
        int i = 10;
        double m = method3();
        System.out.println("方法二即将执行完毕");
        return (int) (i + m);
    }


    public double method3(){
        System.out.println("三开始执行");
        double j = 20.14;
//        System.out.println(1/0);
        System.out.println("方法二即将执行完毕");
        return j;
    }

}
